/* 
 * File:   Deck.h
 * Author: Pouja
 *
 * Created on 11 augustus 2012, 14:00
 */

#ifndef DECK_H
#define	DECK_H

#include "Card.h"
#include <list>
#include <vector>
#include <cstdarg>
#include <stdexcept>

using namespace std;

class Deck {
protected:
    list<Card*> cards;
public:
    Deck();
    void addCard(Card*);   
    Card* drawCard();
    void removeCard(Card*);
    void removeCard(list<Card*>::iterator);
    void shuffle();
    int size();
    list<Card*>::iterator find(Card*);
    Card* findN(int);
    bool operator ==(const Deck&);
    bool operator !=(const Deck&);
    virtual ~Deck();
private:

};

#endif	/* DECK_H */

